
package classes;

import jade.core.AID;

/**
 * This class contains the AIDs of all the agents developed for UMCourt. It is 
 * recommended to use these AIDs instead of creating one instance of an AID each 
 * time you need one because:
 * <ul>
 * <li>Development gets simpler and faster;
 * <li>You do not need to memorize the names of all the agents;
 * <li>If the local name of the agent changes, your messages will still be delivered.
 * </ul>
 * 
 * @author Davide Carneiro
 *
 */
public class AIDs {

	/**
	 * This agent is responsible for monitoring the life cycle of the remaining agents: 
	 * it starts all the necessary agents at startup (according to Config.xml) and it
	 * restarts any crashed agent. 
	 */
	final public AID FAULTMANAGER   = new AID("FaultManagerL", false);
	
	final public AID ATNAL   = new AID("ATNAL", false);
	
	final public AID PRESELECTL   = new AID("TemplateRetrievalL", false);
	
	final public AID EVALUATORL   = new AID("EvaluatorL", false);
	
	final public AID NEARESTNEIGHBOURL   = new AID("NearestNeighbourL", false);
	
	final public AID UTILITYL   = new AID("UtilityL", false);
	
	final public AID DATABASEL 		= new AID("DatabaseL", false);
	
	//VO Domain
	final public AID ATNAVO   = new AID("ATNAVO", false);
	
	final public AID PRESELECTVO   = new AID("TemplateRetrievalVO", false);
	
	final public AID EVALUATORVO   = new AID("EvaluatorVO", false);
	
	final public AID NEARESTNEIGHBOURVO   = new AID("NearestNeighbourVO", false);
	
	final public AID UTILITYVO   = new AID("UtilityVO", false);
	
	final public AID DATABASEVO  = new AID("DatabaseVO", false);
	
	//Proxy
	final public AID ATNA   = new AID("ATNA", false);
	
	final public AID PRESELECT   = new AID("TemplateRetrieval", false);
	
	final public AID EVALUATOR   = new AID("Evaluator", false);
	
	final public AID NEARESTNEIGHBOUR   = new AID("NearestNeighbour", false);
	
	final public AID UTILITY   = new AID("Utility", false);
	
	final public AID DATABASE  = new AID("Database", false);
	
	
	/**
	 * This agent has knowledge about all the necessary steps to implement the
	 * guidelines for problem solving and distributes tasks to the correct agents 
	 * in order to accomplish them.  
	 * 
	 */
	
	final public AID COORDINATORL 	= new AID("CoordinatorL", false);
	
	final public AID COORDINATOR 	= new AID("Coordinator", false);
	
	final public AID VOCOORDINATOR 	= new AID("VOCoordinator", false);
		
	final public AID CASEGENERATOR	= new AID("CaseGenerator", false);
	
	final public AID TESTAGENT	= new AID("TestAgent", false);
	
	final public AID TESTVOAGENT	= new AID("TestVOAgent", false);
	
	final public AID BLACKBOARD 	= new AID("BlackBoard", false);
	final public AID PARTY1 		= new AID("Party1", false);
	final public AID PARTY2 		= new AID("Party2", false);
	final public AID PARTY3			= new AID("Party3", false);
	final public AID PARTY4	 		= new AID("Party4", false);
	
	public AIDs(){}
}
